The present invention pertains generally to external computer devices, including, for example, a method for quickly recovering from an intermittent USB connection failure.
The following patents and patent application address various aspects of related prior art systems, all of which are hereby incorporated herein by reference, in their entirety. Their overview is as follows:
U.S. Pat. No. 6,101,076 Tsai, et al. “Electromagnetic safety enhancement circuit for universal serial bus systems” discloses a system which can “simulate” an unplugging action and replugging action of a USB device, so as to re-initialize the USB device to recover from a fault due to electromagnetic interference.
U.S. Pat. No. 6,415,342 Wahl, et al. “Universal serial bus controlled connect and disconnect”, discloses a second method to re-initialize a USB device without physically removing or reinserting the USB device/cable.
U.S. Pat. No. 6,243,831 Mustafa, et al. “Computer system with power loss protection mechanism”. Discloses a backup system, wherein when a computer is in a reduced power state, or sleep mode, the operating system directs device drivers to save the state of hardware registers to RAM (e.g., change to hibernation state) in the event of loss of main system power.
United States Patent Application 20020089307 Yang, “Electric appliance equipped with redundant battery enabled by mains power supply”, proposes a second or “redundant” battery which is to be enabled by a mains power supply.
U.S. Pat. No. 6,389,560 Chew, “Universal serial bus interpreter”, discloses a system and method for testing the conformance of a universal serial bus (USB) system to a set of predefined USB Specifications. One embodiment of the system comprises a USB interpreter that can be used to selectively examine device data, execute USB commands and exercise USB functions without having to create or compile a test program. The USB interpreter comprises a test application and a test application driver.
From an overview standpoint, the world is quickly moving towards truly “standardized” interfaces (e.g., USB 1.1, 2.0, Firewire), which are available now on many systems and platforms (e.g., Apple™, PC compatible, etc.). These new unified standards are providing considerably more options to system designers and computer programmers to design more workable “plug and play” external computer devices. USB, of course, is well known in the art, and today USB is enjoying tremendous success in the marketplace, with most peripheral vendors around the globe developing products to this specification. Virtually all-new personal computers come with one or more USB ports on the box. In fact, USB has become a key enabler of the Easy PC Initiative, an industry initiative led by Intel™ and Microsoft™ to make PCs easier to use. This effort sprung from the recognition that users need simpler, easier to use PCs that don't sacrifice connectivity or expandability. USB is one of the key technologies used to provide this. The invention as will be described herein aims to further extend this easier to use, increased connectivity, technology.
The expanding use of multiple computers, by single individuals has revealed various problems with managing user-data. For example, a user may work on a project on a computer at one location, and then need to take the work data to a second location or computer (e.g., laptop). Recently, a new class of ultra portable drives has been introduced to better address this transfer of data from one computer to another. These new ultra portable devices (e.g., USB mass storage flash drives) are commonly the size of a pack of gum, and have achieved the status of “pocketability” (e.g., easily fits in one's pocket). A device as such, can fit on the end of user's key chain, and can be easily plugged directly into multiple computer systems. This is especially true with Windows™ Millennium edition and higher operating systems, where devices such as USB flash drives can be plugged into a USB port and used in a “plug and play” fashion (without the need for any external drivers, or data/power cables). Earlier operating systems can also benefit by the addition of a once-installed external driver. Such devices are ideally suited for the transportation of information, since they have no moving parts (e.g., more rugged than conventional micro drives), and are usually powered directly from the USB port (no external power or batteries). Although it should be noted that this “ultra” portability does have its own set of drawbacks, as will be outlined below.
While the aforementioned flash drive systems have the ability to deliver low-cost, data transportation to the masses, there are still a number of inherent limitations, which lead to a need for additional data integrity approaches, when operational continuity is required. For example, since USB flash drives have been designed so as to be carried attached to a user's key chain, they are typically connected “directly” into a host computer's USB port (e.g., no cable), and tend to protrude out from the computer itself, and are thereby prone to being “jarred” or bumped, with the resulting potential for inadvertent and intermittent connection breaks. This is especially true since many computer manufacturers now have USB ports on the front of the computer case, or on the keyboard itself. In addition, many off these devices also derive their power directly from the host computer. Such devices must also go through a shut down procedure, prior to being removed from the host computer, which a user may commonly forget to execute. Any of these connection breaks (either full or partial) may result in lost data files, and in the extreme, may also “lock-up” the host computer system itself, requiring a full system re-boot. Although the operating system may notify the user of such a connection failure, even giving a warning of the potential of lost data, there is no effort made to recover “intact” from such a connection break, thereby requiring full re-initialization of the device prior before proceeding. This “halfway”, notification only, approach not only affects the system's continuity but also creates much frustration with end-users.
Most external devices such as keyboards, mice, printers, and the like, are now commonly using USB connections. This, combined with the fact that desktops and laptops are also using USB based external mass storage devices, greatly increases the chances of a user experiencing a USB connectivity failure. The more complex external mass storage devices normally contain vital information (e.g., static registers, user data) in which a failure in the link between the memory and the host computer can be catastrophic.
All of this points to lost time and efficiencies, data integrity risks, and the real potential of losing critical data files.
Heretofore, a barrier has essentially existed for users to recover their existing external device settings, such as the static registers, during intermittent connection breaks, and resume working in an “as-is” state. There would be remarkable advantages in efficiencies and ease of use, if the register and configuration data were maintained “as-is” and restored on the external device after a break in connectivity, whether momentary or otherwise.
As a result, a need exists in the art for an improved method and apparatus that provides the user with the ability to better recover from inadvertent connection breaks between a host computer and an external device.
A primary object of the present invention is to provide a new, novel and useful method and apparatus (e.g., a portable mass storage device), which does not require a devices to be re-initialized after an intermittent connection break.
A still further object of the present invention is to provide a method for a redundant means to protect and verify the integrity of critical data stored on an external mass storage device.
A further object of the present invention is to provide an improved method and device as characterized above which by its nature is more transparent in operation to the end user, and thereby enhances the user's ease of use.